home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
176-200
/
179
/
excption
/
eiblow.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-13
|
3KB
|
63 lines
/**************************************************************************/
/* */
/* */
/* */
/* EXCEPTION HANDLER / CHIP STACK */
/* ========================================== */
/* */
/* */
/* MODULE : Exception */
/* NOM : EIBlow.c */
/* FONCTION : */
/* */
/* RESPONSABLE : HEWES Gerald */
/* TEL : 33 (1) 46 24 20 27 */
/* */
/**************************************************************************/
/**************************************************************************/
/* */
/* HEW 880310 Ver 0.1 : First Soft Version */
/* HEW 880324 Ver 0.2 : Handle 68000 exceptions */
/* HEW 880413 Ver 0.3 : Handle 680X0 Formats */
/* HEW 880508 Ver 0.4 : First Released version : routines split */
/* Major name changes for better homogeneity */
/* HEW 880517 Ver 0.5 : include change. No more puts in library */
/* HEW 880605 Ver 0.6 : Disable/Enable Function + Prototypes */
/* */
/**************************************************************************/
#include <stdio.h>
#include "local:excption.h"
#include <proto/exec.h>
extern E_ErrorStatus E_global; /* Declaration of Necessary Data */
/**************************************************************************/
extern void EIBlow(dike,number)
E_ErrorStatus *dike; /* Needed for the library version */
ExcpClass number;
/************************************************/
/* This Routine Blows an Exception, ie we pull */
/* out to outmost protected block, exit */
/************************************************/
{
if ((dike->E_top.E_magic != EM_MAGIC))
{
#if DEBUG
fputs("Internal Error EXEERR03\n",stderr);
#endif
exit(202);
}
else
longjmp(dike->E_top.E_current,(int)number); /* We have to cast */
}
/************************* CIVILISATION ENDS HERE ***********************/